// ----------------- HF_Torus macro
#declare Fn_1 =
 function(x, y, z)
  {1-(-f_snoise3d(x*3,y*3,z*3)*0.8)}

object{ //---------------------------
HF_Torus( Fn_1, //Function,
           0, // UseUVheight:  0 or 1
           1, // UseUVtexture: 0 or 1
           <50,50>, // Resolution,
           1, // Smooth: 0 or 1
           "",// FileName, ""=no file,
           2.00, 1.00 ,// R_Major, R_Minor// Radius
           -0.25   // Depth
        ) //-------------------------
 texture{ 
    pigment{ gradient  x+y 
             color_map{
             [ 0.0 color  rgb< 1.0,0.95, 0.9>*1]
             [ 0.5 color  rgb< 1.0,0.95, 0.9>*1]
             [ 0.5 color  rgb< 0.8, 0.0, 0.05> ]
             [ 1.0 color  rgb< 0.8, 0.0, 0.05> ]
             } // end color_map
             turbulence 0.0 scale< 1,3,1>*0.015
           } // end pigment
    finish {  phong 1 reflection 0.01}
 } // end of texture 

 scale<1,1,1>*1
 rotate<0,0,0>
 translate<0,0.00,0>
}  // end of HF_Torus ----------------- 
